/*
  强哥的机器人 plus
  题目描述
    众所周知，强哥最近很喜欢玩他的机器人。
    而今天强哥给机器人进行了一些改动，支持了转身功能！

    现在机器人不但可以勇往直前！还可以急流勇退！（所以还是不支持转向功能)
    为了方便描述，我们可以认为机器人可以行动的路线是一条直线，一开始机器人所在位置的坐标是 0，
    每向前走一步坐标 +1，向后走一步坐标 −1，每走一步就需要花费 1 格电量

    现在强哥依旧在路径上设置了 n 个充电宝，第 i 个充电宝所在位置的坐标是 ai，电量是 bi，
    当机器人到达坐标 ai 时，可以选择是否拿起这个充电宝。

    这一次强哥给机器人安排的工作是：取得所有充电宝，并返回起点。
    但是强哥给机器人进行了限制：
      中途不得使用充电宝给自己充电；
      必须先拿低电量的充电宝，再拿高电量的充电宝；
      （即如果存在电量为 1 的充电宝，就必须拿完所有电量为 1 的充电宝以后才能拿电量为 2 的充电宝）

    现在强哥想知道，一开始至少给机器人充几格电，才能支撑它拿完所有的充电宝并返回起点？
    P.S. 假设机器人电池电量无上限，且拿的下所有的充电宝。
  输入格式 (robotp.in)
    输入第一行是两个整数 n，表示充电宝数量；
    接下来 n 行，每行包含两个整数 ai, bi，用于描述第 i 个充电宝
  输出格式 (robotp.out)
    输出一行包含一个整数，表示强哥一开始至少要给机器人充的电量。
  数据范围
    对于 20% 的数据，保证 1 ≤ n, ∣ ai ∣ ≤ 10；
    对于 50% 的数据，保证 1 ≤ n ≤ 5000, ∣ ai ∣ ≤ 10000；
    对于 100% 的数据，保证 1 ≤ n ≤ 100000, ∣ ai ∣ ≤ 10^6；
    对于所有数据，保证 ai ≠ aj ≠ 0, 1 ≤ bi ≤ n；
  样例输入1
    5
    2 2
    3 1
    1 3
    4 2
    5 3
  样例输出1
    12
  样例解释1
    机器人的一种移动路径为：0 → 3 → 2 → 4 → 5 → 1 → 0
  样例输入2
    6
    -5 1
    -4 2
    -3 4
    -2 4
    5 2
    4 1
  样例输出2
    28
  样例解释2
    机器人的一种移动路径为：0 → −5 → 4 → 5 → −4 → −3 → −2 → 0
*/